
// 定义表示记分牌的类
class ScorePanel {
  // 用来记录分数以及等级
  score: number = 0
  level: number = 1

  // 设置变量来限制等级
  maxLevel: number

  // 设置一个变量，来表示多少分升一级
  upScore: number

  // 分数和等级所在的元素，再给构造函数中进行初始化
  scoreEle: HTMLElement
  levelEle: HTMLElement
  constructor(maxLevel: number = 10, upScore: number = 1) {
    this.scoreEle = document.getElementById('score')!
    this.levelEle = document.getElementById('level')!
    this.maxLevel = maxLevel
    this.upScore = upScore
  }

  // 设置一个加分的方法
  addScore() {
    // 分数自增
    this.scoreEle.innerHTML = ++this.score + ''

    // 判断分数多少来升级
    if (this.score % this.upScore === 0) {
      this.levelUp()
    }
  }

  // 提升等级的方法
  levelUp() {
    if (this.level < this.maxLevel) {
      this.levelEle.innerHTML = ++this.level + ''
    }
  }

}

export default ScorePanel
